perm filename M[AP,SYS]1 blob
sn#000445 filedate 1972-11-03 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 Start of program: main loop.
C00003 00003 Start of program: main loop.
C00005 00004 Subroutines: TOTS,NXTDG.
C00007 ENDMK
C⊗;
;Start of program: main loop.
TITLE M
CHAR←2
AC1 ←3
BOT ←4
CNT ←5
QUO ←6
REM ←7
DX ←10
BOT ←11
BP ←12
P ←17
CR←15 LF←12
PDLEN←30
NPNS←100
PDLIST: BLOCK PDLEN
NAME: BLOCK NPNS
COUNT: BLOCK NPNS
BLANKS: ASCII / /
DIGITS: BLOCK 4
USERSF: SIXBIT /USERS/
BLOCK 3
IBUF: BLOCK 3
DEFINE CHKANS {
INCHRW CHAR
CAIE CHAR,"Y"
CAIN CHAR,"y"}
;Start of program: main loop.
FAILED: OUTSTR [ASCIZ / FAILED!
/]
M: CALLI
MOVE P,[IOWD PDLEN,PDLIST]
OUTSTR [ASCIZ /
START UP [-AP-]? /]
CHKANS
JRST [MOVEI AC1,[SIXBIT /[-AP-]/
SIXBIT / APSYS/
0] ;wake up now
CALLI AC1,400061 ;WAKEME
JRST FAILED
JRST DONE]
OUTSTR [ASCIZ /
PREVENT [-AP-] FROM STARTING UP? /]
CHKANS
JRST [MOVEI AC1,[SIXBIT /[-AP-]/
SIXBIT / APSYS/
-1] ;wake up never
CALLI AC1,400061 ;WAKEME
JRST FAILED
JRST DONE]
OUTSTR [ASCIZ /
USER TOTALS? /]
CHKANS
JRST TOTS
OUTSTR [ASCIZ /
THAT'S ALL FOLKS.
/]
JRST M
DONE: OUTSTR [ASCIZ / DONE
/]
CALLI 1,12 ;EXIT
JRST M
;Subroutines: TOTS,NXTDG.
TOTS:
OUTSTR [ASCIZ/
/]
MOVEI BOT,1
SETZM COUNT
SETZM NAME
INIT 0,10
SIXBIT /DSK/
IBUF
HALT .
SETZM USERSF+3
LOOKUP 0,USERSF
JRST FAILED
GETNAM: SOSG IBUF+2
IN 0,
JRST [ILDB AC1,IBUF+1
JRST FIND]
STATO 0,20000
HALT .
RELEAS 0,
JRST NNN
FIND:
MOVE DX,BOT
JRST CK
NEXT: CAME AC1,NAME(DX)
CK: SOJGE DX,NEXT
JUMPL DX,INSERT
AOS COUNT(DX)
JRST GETNAM
INSERT: CAIL BOT,NPNS
JRST [OUTSTR [ASCIZ / TOO MANY PNS. /]
JRST FAILED]
MOVEM AC1,NAME(BOT)
MOVEI AC1,1
MOVEM AC1,COUNT(BOT)
AOJA BOT,GETNAM
PRNTNX: OUTSTR NAME(BOT)
MOVE BP,[POINT 7,DIGITS]
MOVE QUO,COUNT(BOT)
PUSHJ P,NXTDG
MOVEI QUO,CR
IDPB QUO,BP
MOVEI QUO,LF
IDPB QUO,BP
MOVEI QUO,0
IDPB QUO,BP
OUTSTR BLANKS
NNN: SOJGE BOT,PRNTNX
JRST DONE
NXTDG: IDIVI QUO,=10
PUSH P,REM
SKIPE QUO
PUSHJ P,NXTDG
POP P,QUO
ADDI QUO,60
IDPB QUO,BP
POPJ P,
END M